package com.ruoyix.weblog.domain.bo;

import com.baomidou.mybatisplus.annotation.TableLogic;
import com.ruoyix.common.core.validate.AddGroup;
import com.ruoyix.common.core.validate.EditGroup;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;

import com.ruoyix.common.core.domain.BaseEntity;

/**
 * 文章管理业务对象 blog_article
 *
 * @author ruoyi
 * @date 2024-05-27
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class BlogArticleBo extends BaseEntity {

    /**
     * id
     */
    @NotNull(message = "id不能为空", groups = { EditGroup.class })
    private Long id;

    /**
     * 用户ID
     */
    private Long userId;

    /**
     * 分类ID
     */
    @NotNull(message = "分类ID不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long sortId;

    /**
     * 标签ID
     */
    @NotNull(message = "标签ID不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long labelId;

    /**
     * 封面
     */
    @NotBlank(message = "封面不能为空", groups = { AddGroup.class, EditGroup.class })
    private String articleCover;

    /**
     * 图片URL
     */
    private String imageUrl;

    /**
     * 博文标题
     */
    @NotBlank(message = "博文标题不能为空", groups = { AddGroup.class, EditGroup.class })
    private String articleTitle;

    /**
     * 博文内容
     */
    @NotBlank(message = "博文内容不能为空", groups = { AddGroup.class, EditGroup.class })
    private String articleContent;

    /**
     * 浏览量
     */
    private Long viewCount;

    /**
     * 点赞数
     */
    private Long likeCount;

    /**
     * 是否可见[0:否，1:是]
     */
    @NotNull(message = "是否可见不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer viewStatus;

    /**
     * 密码
     */
    private String password;

    /**
     * 提示
     */
    private String tips;

    /**
     * 是否推荐[0:否，1:是]
     */
    @NotNull(message = "是否推荐不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer recommendStatus;

    /**
     * 是否启用评论[0:否，1:是]
     */
    @NotNull(message = "是否启用评论不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer commentStatus;

    /**
     * 是否启用[0:未删除，1:已删除]
     */
    private Integer delFlag;



}
